import {QueryPage} from "@/api/common/type";

// 历史报价单查询参数
export interface HistoricalQuotationQuery extends QueryPage {
  projectId?: number; // 项目ID
  code?: string; // 编号
}

// 历史报价单数据
export interface HistoricalQuotation {
  id?: number;
  projectId?: number; // 项目ID
  projectName?: string; // 项目名称
  content?: string; // 预算单HTML内容
  code?: string; // 编号
  createTime?: string; // 创建时间
  updateTime?: string; // 更新时间
  createId?: number;   // 创建人ID
  createName?: string; // 创建人姓名
  updateId?: number;   // 更新人ID
  updateName?: string; // 更新人姓名
}

// 规格表格行数据
export interface SpecTableRow {
  label?: string;           // 标签名称
  value?: string;           // 值
  unit?: string;            // 单位
  additionalInfo?: string;  // 附加信息
  colspan?: number;         // 合并列数，默认1
  highlight?: boolean;      // 是否高亮显示，默认false
}

// 报价单项目VO - 与后端QuotationSheetItemVO对应
export interface QuotationSheetItem {
  id?: string;
  name?: string;                // 项目名称
  spec?: string;                // 规格型号（简单文本）
  brand?: string;               // 品牌
  unit?: string;                // 单位
  quantity?: number;            // 数量
  unitPrice?: number;           // 单价
  totalPrice?: number;          // 总价
  optional?: boolean;           // 是否可选
  specTable?: SpecTableRow[];   // 规格表格数据
}

// 报价单分类VO - 与后端QuotationSheetCategoryVO对应
export interface QuotationSheetCategory {
  id?: string;
  categoryName?: string;        // 类别名称
  items?: QuotationSheetItem[]; // 该类别下的项目
}

// 报价单VO - 与后端QuotationSheetVO对应
export interface QuotationSheet {
  id?: string;
  title?: string;        // 标题
  customerName?: string;        // 客户名称
  customerContact?: string;     // 联系人
  customerPhone?: string;       // 联系电话
  quotationDate?: string;       // 报价日期
  validDays?: number;           // 有效期（天）
  paymentMethod?: string;       // 付款方式
  totalAmount?: number;         // 报价合计
  remarks?: string;             // 备注
  person?: string;              // 报价人
  quotationUnit?: string;
  categories?: QuotationSheetCategory[]; // 报价类别列表
} 